From: Ian Campbell Date: Fri, 10 May 2013 13:13:52 +0000 (+0100) Subject: arm: cast int<->pointer via uintptr_t X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6866 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=b1d98d94d04cccc8703a4494abf23dbb9123b780;p=xen.git arm: cast int<->pointer via uintptr_t Fixes build on arm64: gic.c: In function ‘gic_irq_eoi’: gic.c:726:16: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] gic.c: In function ‘maintenance_interrupt’: gic.c:776:29: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] gic.c:778:64: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] cc1: all warnings being treated as errors make[3]: *** [gic.o] Error 1 Signed-off-by: Ian Campbell Acked-by: Keir Fraser Acked-by: Stefano Stabellini --- diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c index 8d35e0e91f..9ebfebea23 100644 --- a/xen/arch/arm/gic.c +++ b/xen/arch/arm/gic.c @@ -723,7 +723,7 @@ int gicv_setup(struct domain *d) static void gic_irq_eoi(void *info) { - int virq = (int) info; + int virq = (uintptr_t) info; GICC[GICC_DIR] = virq; } @@ -773,9 +773,10 @@ static void maintenance_interrupt(int irq, void *dev_id, struct cpu_user_regs *r /* this is not racy because we can't receive another irq of the * same type until we EOI it. */ if ( cpu == smp_processor_id() ) - gic_irq_eoi((void*)virq); + gic_irq_eoi((void*)(uintptr_t)virq); else - on_selected_cpus(cpumask_of(cpu), gic_irq_eoi, (void*)virq, 0); + on_selected_cpus(cpumask_of(cpu), + gic_irq_eoi, (void*)(uintptr_t)virq, 0); } i++;